iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 12
0
Modern Web

使用 webpack 模組化你的程式碼,讓人生更美好。系列 第 12

<12 - Loaders 再進化系列 04> json-loader - 讓模組載入 json 格式資料吧!

  • 分享至 

  • xImage
  •  

所謂的模組就是就各種資源(Resources)綑綁在一起,方便使用。先前已經介紹了將 jsimagecssscsshtml變成一個模組,輸出成 ./dist/app.js,接下來將繼續介紹下一個:json-loader 登場,這個非常的簡單,趕快來動手作吧~/images/emoticon/emoticon31.gif

安裝 json-loader

$ npm install --save-dev json-loader

建立 json 檔

建立 ./app/data/data.json,假資料內容如下:

{
  "file_name": "people file",
  "data": [
    {
      "name": "person 1",
      "birthday": "1900/01/01"
    },
    {
      "name": "person 2",
      "birthday": "1900/01/02"
    }
  ]
}

更新 ./app/index.js,(僅列出新增的部份):

…
var data_obj = require("json-loader!./data/data.json");

…

function ouputData(){
  console.log(data_obj);
}
ouputData();

…

很單純地,僅僅是用 json-loader 來載入 ./data/data.json 之後,回傳的物件再傳遞給 data_obj,然後在 ouputData() 函式中,於瀏覽器的 console 中呈現出來。

再執行以下指令,即可看到畫面:

$ webpack
$ webpack-dev-server --open

http://ithelp.ithome.com.tw/upload/images/20161211/20069901bo1xEnczk9.png

寫入設定檔 webpack.config.js

同樣的,再將 json-loader 的使用,寫入設定檔 webpack.config.js 中,在 module.rules 中新增一條:

{
  test: /\.json$/,
  use: [
    { loader: 'json-loader' }
  ]
}

也就是當遇到 .json 檔案時,會使用 json-loader 來處理。

修改 ./app/index.js,將:

var data_obj = require("json-loader!./data/data.json");

改成:

var data_obj = require("./data/data.json");

就可以完成啦!


明天繼續再戰下一個 i18n-loader,沒錯,有需要的話,也是要 i18n 一下。/images/emoticon/emoticon41.gif


上一篇
<11 - Loaders 再進化系列 03> html-loader - 將 html 從 js 抽離出來吧!
下一篇
<13 - Loaders 再進化系列 05> babel-loader - 就是狂
系列文
使用 webpack 模組化你的程式碼,讓人生更美好。30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言